package io;
/**
 * 异常处理机制中的try-catch
 */
public class TryCatDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");
        try {
            //String line = null;
            String line = "hello";
            System.out.println(line.length());
            System.out.println(line.charAt(3));
            System.out.println(Integer.parseInt(line));
            //try语句块中如果出现了异常，那么之后代码都不会被执行

            /*
        }catch (NullPointerException e){
            System.out.println("出现了空指针异常");
            //catch可以定义多个，指针不同异常有不同的处理方式，我们可以分别捕获并处理
        }catch (StringIndexOutOfBoundsException e){
            System.out.println("出现了字符串下标越界并处理完毕了");
        }

             */
        }catch (NullPointerException|StringIndexOutOfBoundsException e){
            System.out.println("出现了空指针或下标越界，在这里统一处理");
        }catch (Exception e){
            System.out.println("出现了一个未知错误");
        }
            System.out.println("程序结束了");



    }
}